# BTS Specific rules
# Rules to credit some properties of valid BTS mail

rawbody HAS_PACKAGE		/^Package:/im
describe HAS_PACKAGE		Has a Package: line, probably a valid report
tflags HAS_PACKAGE		nice
score HAS_PACKAGE		-6.0

header X_DEBBUGS_CC		exists:X-Debbugs-Cc
describe X_DEBBUGS_CC		Has an X-Debbugs-Cc: header
tflags X_DEBBUGS_CC		nice
score X_DEBBUGS_CC		-3.0

header X_DEBBUGS_NO_ACK		exists:X-Debbugs-No-Ack
describe X_DEBBUGS_NO_ACK	Has an X-Debbugs-No-Ack: header
tflags X_DEBBUGS_NO_ACK		nice
score X_DEBBUGS_NO_ACK		-3.0

# SA doesn't like literal # symbols in rules
# blarson 2006-10-27 Allow space
header HAS_BUG_NUMBER		Subject =~ /Bug\s*\x23\d+:/i
describe HAS_BUG_NUMBER		Has a debbugs-style Bug# in the subject line
tflags HAS_BUG_NUMBER		nice
score HAS_BUG_NUMBER		-3.0

# blarson 2007-07-05
rawbody VALID_BTS_CONTROL	/^(reassign\s+\d{3,6}\s+[a-z\d-]+\s*|(reopen|submitter|owner)\s+\d{3,6}\s|forward\s+\d{3,6}\s+|(notforwarded|unmerge|noowner)\s+\d{3,6}\s*$|retitle\s+\d{3,6}\s+.{10,80}$|severity\s+\d{3,6}\s+(critical|grave|serious|important|normal|minor|wishlist)|clone\s+\d{3,6}\s+-\d$|merge(\s+\d{3,6}){2,4}\s*$|tags?\s+\d{3,6}\s+([\-\+\=]?\s*[a-z]+\s*)*|(not)?found\s+\d+\s+\S+\s*$)/i
describe VALID_BTS_CONTROL	Seems to be valid BTS control command
tflags VALID_BTS_CONTROL	nice
score VALID_BTS_CONTROL		-2

# blarson 2004-04-10 20050316 add index packages
rawbody INDEXMAINT		/^index(?:-|\s+)(?:maint\s+\S+\@|packages)/
describe INDEXMAINT		index-maint command
tflags INDEXMAINT		nice
score	INDEXMAINT		-5

# blarson 2006-05-11 2006-09-09 change score
header SUBSCRIBEBUG	To =~ /\b\d{3,7}\-(?:(?:un)?subscribe|subhelp|ignore|(?:sub(?:yes|approve|reject)|unsubyes|bounce|probe|approve|reject|setlistyes|setlistsilentyes).*)\@bugs\.debian\.org\b/
describe SUBSCRIBEBUG	subscribing to bug
tflags SUBSCRIBEBUG	nice
score SUBSCRIBEBUG	-0.1

# blarson 2007-04-26
header SUBSCRIBE2	received =~ /\b for \d{3,7}\-(?:(?:un)?subscribe|subhelp|ignore|(?:sub(?:yes|approve|reject)|unsubyes|bounce|probe|approve|reject|setlistyes|setlistsilentyes).*)\@bugs\.debian\.org\b/
describe SUBSCRIBE2	subscribing to bug
tflags SUBSCRIBE2	nice
score SUBSCRIBE2	-1

# blarson 2009-10-09
header SUBSCRIBE3	received =~ /\(at \d{3,8}-(?:(?:un)?subscribe|subhelp|ignore|(?:sub(?:yes|approve|reject)|unsubyes|bounce|probe|approve|reject|setlistyes|setlistsilentyes).*)\)/
describe SUBSCRIBE3	bug subscription
tflags SUBSCRIBE3	nice
score SUBSCRIBE3	-4

header FROMDEVELOPER	From =~ /\@debian.org/i
describe FROMDEVELOPER	Appears to be a message from a developer
tflags	FROMDEVELOPER	nice
score	FROMDEVELOPER	-2


# joy, 2003-07-20, 2003-11-09
# this is pretty generic
header BUGNUMBERGREETING	Subject =~ /^(hi|hey)?\s*\d{4}\d*(-\S+)?(\!|,)/i
describe BUGNUMBERGREETING	greeting or addressing the bug number
score BUGNUMBERGREETING		3

# joy, 2003-11-09, 2003-12-28
# note that Subject: Bug#12345 ... and Subject: Re: Bug#12345 ... won't match
header SPAMBUGNUMSUBJ	Subject =~ /^\d\d\d\d/i
describe SPAMBUGNUMSUBJ	greeting or addressing the bug number, simple test
score SPAMBUGNUMSUBJ	1

# joy, 2003-12-29
header SPAMBUGADDRSUBJ	Subject =~ /^\d{4,}(-[^@]+)?\@bugs/i
describe SPAMBUGADDRSUBJ	greeting or addressing the bug address
score SPAMBUGADDRSUBJ	2.5

# blarson 2007-07-06
header MAJORDOMO	subject =~ /\bMajordomo results\: Bug\b/
describe MAJORDOMO	MAJORDOMO infinite loop
score MAJORDOMO		4

# blarson 2007-07-19
header INFOLOOP		subject =~ /Re: Bug\#\d+\: Info received \(Bug\#\d+: Info received/
describe INFOLOOP	Loopy autoresponder
score INFOLOOP		7

# blarson 2007-11-17
header KOI8R		Content-Type =~ /koi8-r/i
describe KOI8R		russian content
score KOI8R		4

# blarson 2007-09-07
header SUBKOI8R		subject =~ /koi8-r/i
describe SUBKOI8R	russian subject
score SUBKOI8R		4

# blarson 2007-12-10
score ONEWORD		3

# blarson 2008-04-03
header CLOSE		subject =~ /^\s*(?:closed?|done|Closing)\s*$/i
describe CLOSE		closing bug
tflags	CLOSE		nice
score CLOSE		-2

# blarson 2008-06-97
body VERSION		/^version\:\s+\S+\s*$/i
describe VERSION	version number specified in body
tflags VERSION		nice
score VERSION		-1

# blarson 2008-09-04   new spamassasin html rules broken
header HTMLCONT		content-type =~ /text\/html/i
describe HTMLCONT	html only
score HTMLCONT		3

# blarson 2008-09-04
header MULTALT		content-type =~ /multipart\/alternative/i
describe MULTALT	multipart-alternative
score MULTALT		1

# blarson 2008-10-29
header CREATETICK	subject =~ /Unable to create Ticket/
describe CREATETICK	Unable to create Ticket
score CREATETICK	4

# blarson 2008-11-28
body ONPHPDEV		/onphp-dev-ru.lists.shadanakar.org/
describe ONPHPDEV	keeps spamming owner, spamassassin autolearns as ham?
score ONPHPDEV		3

# blarson 2009-07-03
header FELIX		X-BeenThere =~ /felix-impl\@lists\.sourceforge\.net/
describe FELIX		felix list bounces
score FELIX		4

# blarson 2009-10-08
body BUGADDR		/^\d{3,8}\@bugs\.debian\.org$/i
describe BUGADDR	bug address in line by itself
score BUGADDR		1

# blarson 2009-10-11
header UNSUB		subject =~ /unsubscribe/i
describe UNSUB		unsubscribe
score UNSUB		2
